import { defineStore } from "pinia";
import UserApi from "../api/user";

export const useUserStore = defineStore("user", {
    state: () => {
        return {
            isLogin: false,
            isAdmin:false,
            userData: {}
        };
    },
    getters: {},
    actions: {
        loginState(userData) {
            this.isLogin = true;
            this.userData = userData;
            if(userData&&userData.role==1){
                this.isAdmin=true;
            }
        },
        logoutState() {
            this.isLogin = false;
            this.isAdmin=false;
            this.userData = {};
        },
        async isAuth() {
            if (this.userData) {
                const api = new UserApi();
                let res = await api.find(this.userData.userId);
                if (res.code === 401 || res.code === 403) {
                    this.isLogin = false;
                    this.isLogin = false;
                    this.isAdmin = false;
                    this.userData = {};
                }
                if(res.code===200&&res.data.role!==1){
                    this.isAdmin=false;
                }
            } else {
                this.isLogin = false;
                this.userData = {};
            }
        }
    },
    persist: true
});